The present invention relates to systems and methods for efficiently modifying the shape of geometries in a smooth continuous manner.
Modern animation and modeling systems enable artists to create high-quality content, but provide limited support for interactive applications. Although complex forms and motions can be constructed either by hand or with motion or geometry capture technologies, once they are created, they are difficult to render, particularly at runtime.
At this time, a variety of 3D scanning methodologies are available that can capture shapes that exist in the real world. Motion capture technologies are also capable of recording complex performances. Capture devices are restricted to recording shapes and motions that can be observed and that actually exist (e.g., such systems cannot capture the motion of a dinosaur). In contrast to the scanning devices, highly skilled artists have the advantage of being able to model complex existing shapes, as well as imaginary shapes and animations.
Since the 1980s 3D graphics hardware accelerators were focused on CAD requirements. CAD requirements implied rigid bodies, i.e., shapes that are most often modified by a single transformation matrix. As computers became more powerful, developers began to use computers to mimic moving characters such as robots. Making the leap from CAD to moving robots was conceptually simplistic; moving parts were separately modeled as rigid bodies that were connected to each other by seams at all moving joints. As the demand for more animated and lifelike characters increased, hardware accelerators evolved that added native support to computer systems for rendering non-rigid objects. This in turn, raised the quality bar for character rendering. However, the hardware support has lacked the ability to attain the level supported by software skinning techniques available in authoring tools used to create content for non-real-time media such as movies. Examples of such skinning techniques include terms such as xe2x80x9csmart-skin,xe2x80x9d xe2x80x9cFFD""s,xe2x80x9d xe2x80x9cwraps,xe2x80x9d expressions, and so on.
Artists want to use these techniques to create characters that can be efficiently rendered on 3-D hardware accelerators. Yet while there are a large number of such techniques, most of them make assumptions about running on a general purpose CPU that does not translate into efficient operation on a streaming DSP or Graphics Processor Unit (GPU).
The invention provides systems and methods for generating a computer graphic of a shape to be animated. The shape has at least one joint wherein the shape changes about the joint, such as would occur in a simulation of an arm bending about an elbow. The system and method comprise providing a mesh of at least three points, where each point is defined in three-dimensional space. The mesh is indicative of the shape in a base position. Additionally, information is provided that is indicative of the position of the points in the mesh corresponding to the shape at predefined positions wherein the shape has changed about the joint, e.g. the arm at different bend positions, with respect to the base position. A changed position of the shape is generated from the position of the points in the mesh by interpolating between the information indicative of the position of the points in the mesh corresponding to the shape at selected predefined positions. The selected positions are identified as the closest positions in parameter space to a desired or approximated position. Preferably, the predefined positions are selected using a search of joint parameters. Other features and embodiments of the present invention are described below.